# 配置文件
import os
from dotenv import load_dotenv

# 加载环境变量
load_dotenv()

class Config:
    """基础配置类"""
    # 通用配置
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard-to-guess-string'
    DEBUG = False
    TESTING = False
    
    # 数据库配置
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///stock_simulator.db'
    
    # 股票API配置
    STOCK_API_KEY = os.environ.get('STOCK_API_KEY') or 'your_default_api_key'
    
    # Ollama模型配置
    OLLAMA_MODEL = os.environ.get('OLLAMA_MODEL') or 'llama2'
    
    # 风险管理配置
    RISK_PARAMS = {
        'max_single_trade_amount_ratio': 0.1,
        'max_position_per_stock_ratio': 0.3,
        'stop_loss_threshold': 0.15,
        'take_profit_threshold': 0.2
    }

class DevelopmentConfig(Config):
    """开发环境配置"""
    DEBUG = True

class TestingConfig(Config):
    """测试环境配置"""
    TESTING = True
    SQLALCHEMY_DATABASE_URI = 'sqlite:///test.db'

class ProductionConfig(Config):
    """生产环境配置"""
    pass

# 配置字典，用于根据环境变量选择不同配置
config = {
    'development': DevelopmentConfig,
    'testing': TestingConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
}